// pages/message/gpt-message/gpt-message.ts
var utils = require('../../../utils/util')

Page({

  /**
   * 页面的初始数据
   */
  data: {
    showSuggestions: true, // 是否展示提示问题
    inputMessage: '', // 用户输入数据
    scrollTop:0, // 默认滚动到顶部，通过更新该变量实现默认滚动到底部
    suggestionList: <SuggestionItem[] | null>[
      {
        questionText: '高血压是什么',
        answerText: '这是高血压的答案'
      },
      {
        questionText: '如何预防高血压',
        answerText: '这样预防高血压'
      },
      {
        questionText: '高血压饮食需要注意什么',
        answerText: '高血压饮食需要注意这些食物'
      }
    ],
    messageList: <GPTMessage[] | null>[
      {
        messageId: 1,
        patientUid: 1,
        senderType: 'GPT',
        content: '您好，我是您的智能助手，有什么可以帮助您的吗？',
        sentTime: '2024-04-01 09:00:00'
      },
      {
        messageId: 2,
        patientUid: 1,
        senderType: 'USER',
        content: '这个是之前的历史消息',
        sentTime: '2024-04-01 09:00:02'
      },
      {
        messageId: 3,
        patientUid: 1,
        senderType: 'GPT',
        content: '我来回答你',
        sentTime: '2024-04-02 09:00:00'
      },
      {
        messageId: 3,
        patientUid: 1,
        senderType: 'GPT',
        content: '我来回答你',
        sentTime: '2024-04-02 09:00:00'
      }, {
        messageId: 3,
        patientUid: 1,
        senderType: 'GPT',
        content: '我来回答你',
        sentTime: '2024-04-02 09:00:00'
      }
    ]
  },

  // 点击对应问题
  clickSuggestion(event: any) {
    console.log(event);
    // 将对应问题的答案直接插入到消息中
    const listIndex = event.currentTarget.dataset.listIndex
    var nowTime = new Date();

    const tmp1: GPTMessage = {
      messageId: 1,
      patientUid: 1,
      senderType: 'USER',
      content: this.data.suggestionList ? this.data.suggestionList[listIndex].questionText : '',
      sentTime: utils.formatTime(nowTime, 'yyyy-MM-dd HH:mm:ss'),
    }
    const tmp2: GPTMessage = {
      messageId: 1,
      patientUid: 1,
      senderType: 'GPT',
      content: this.data.suggestionList ? this.data.suggestionList[listIndex].answerText : '',
      sentTime: utils.formatTime(nowTime, 'yyyy-MM-dd HH:mm:ss'),
    }
    const messageList = this.data.messageList
    messageList?.push(tmp1);
    messageList?.push(tmp2);
    this.setData({
      messageList: messageList
    })
    this.scrollToBottom();

  },

  refreshSuggetions() { 
    console.log('点击换一换');
    
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    this.scrollToBottom();
  },

  scrollToBottom() { 
    let query = wx.createSelectorQuery().in(this);
    query.select('.chat-messages').boundingClientRect((res) => {
      this.setData({
        scrollTop: res.height*50
      });
    }).exec();
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})